package com.zhenmaitang.clinic_sys.mapper;

import com.zhenmaitang.clinic_sys.entity.RoleDataScope;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 角色数据权限关联Mapper接口
 */
@Mapper
public interface RoleDataScopeMapper {
    
    /**
     * 查询角色的所有数据权限
     */
    List<RoleDataScope> findByRoleId(@Param("roleId") Integer roleId);
    
    /**
     * 查询角色指定资源的数据权限
     */
    List<RoleDataScope> findByRoleIdAndResource(@Param("roleId") Integer roleId, @Param("resource") String resource);
    
    /**
     * 插入角色数据权限关联
     */
    int insert(RoleDataScope roleDataScope);
    
    /**
     * 更新角色数据权限关联
     */
    int update(RoleDataScope roleDataScope);
    
    /**
     * 删除角色数据权限关联
     */
    int deleteByRoleIdAndDataScopeId(@Param("roleId") Integer roleId, @Param("dataScopeId") Integer dataScopeId);
    
    /**
     * 删除角色指定资源的所有数据权限关联
     */
    int deleteByRoleIdAndResource(@Param("roleId") Integer roleId, @Param("resource") String resource);
}